"""
def 函数(参数...)
    函数体
    return 返回值
变量 = 函数(参数)

函数体在遇到return后就结束了，所以写在return后的代码不会执行
"""


def add(a, b):
    result = a + b
    return result
    print("111222")


def add1(a, b):
    return a + b


r = add(8, 9)
print(r)

ab = add1(6, 9)
print(ab)

"""
思考：如果函数没有使用return语句返回数据，那么函数有返回值吗？ 有

python中有一个特殊的字面量：None，其类型是：<class 'NoneType'>

无返回值的函数，实际上就是返回了：None这个字面量

None表示：空的，无实际意义的意思

函数返回的None，就表示，这个函数没有返回什么有意义的内容，也就是返回了空的意思

None可以用于声明无初始值内容的变量
"""


# 没有返回值
def say_hi():
    print("Hi，世界")


result = say_hi()
print(result)  # None
print(type(result))  # <class 'NoneType'>


# 主动返回None
def say_hi2():
    print("Hi，世界")
    return None


r = say_hi2()
print(r)  # None
print(type(r))  # <class 'NoneType'>


# None用于if判断
def check_age(age):
    if age >= 18:
        return True
    else:
        return None


re = check_age(16)
if not re:
    print("未成年，不允许进入")


# None可以用于声明无初始值内容的变量

name = None
print(type(name))  # <class 'NoneType'>
name = "峡谷杨爹"
print(type(name))  # <class 'str'>